package cn.edu.zafu.bigdata.psy;

import java. io. * ;
import java.util.TreeSet;
public class RhymingWords {
    public static void main( String[ ] args) throws IOException {
        FileReader words = new FileReader("files/words.txt");

        Reader rhymedWords = reverse( sort( reverse( words)));

        BufferedReader in = new BufferedReader(rhymedWords);
        String input;
        while (( input = in. readLine()) != null)
            System. out. println( input);
        in. close();
    }
    public static Reader reverse( Reader source) throws IOException {
        BufferedReader in = new BufferedReader( source);
        PipedWriter pipeOut = new PipedWriter( );
        PipedReader pipeIn = new PipedReader(pipeOut);
        PrintWriter out = new PrintWriter(pipeOut);
        new ReverseThread(out, in). start();
        return pipeIn;
    }
    //创建管道，创建并启动单词排序线程
    public static Reader sort( Reader source) throws IOException {
        BufferedReader in = new BufferedReader( source);
        PipedWriter pipeOut = new PipedWriter();
        PipedReader pipeIn = new PipedReader(pipeOut);
        PrintWriter out = new PrintWriter(pipeOut);
        new SortThread(out, in).start();
        return pipeIn;
    }
}
